package archivemanagement;

import java.util.Collection;


public interface ArchiveManager<Key, Value> {
    
    void add(Value value);
    
    Value load(Key key);
    
    Collection<Value> loadAll();
    
    
    /**
     * 
     * Rewrites the value to all libraries that already contain a
     * instance of said value.
     * 
     * @param value the object to be updated.
     * @return the number of libraries that were updated.
     */
    int update(Value value);
    
}
